package Events;

import modele.Modele;

/******************************************************
Cours : LOG120
Session : E2011
Groupe : 01
Projet : Laboratoire #4

Etudiant(e)(s) : Sean Blahovici
				 Nicolas Blais Miko
				 Yohan Trépanier Montpetit
				 Mathieu Ferchaud
				 
Code(s) perm. : BLAS30068807
				BLAN24079109
				TREY16079108
				FERM23018803

Professeur : Chamseddine Talhi
Charg� de labo : Eric Goulet
Nom du fichier : TranslateEvent.java
Date cr�� : 2011-07-21
Date dern. modif. 2011-07-21
*******************************************************
Historique des modifications
*******************************************************
2011-07-21 Version initiale (1)
*******************************************************/

/**
 * Classe representant un evenement de translation
 */
public class TranslateEvent implements Evenement{

	//Les composantes en x et en y de la translation
	private int x,y;
	//Le modele concerne par l'evenement
	private Modele model;
	
	/**
	 * Constructeur d'un evenement de translation
	 * @param x La composante en x de la translation
	 * @param y La composante en y de la translation
	 * @param model Le modele concerne par l'evenement
	 */
	public TranslateEvent(int x,int y,Modele model){
		
		this.x = x;
		this.y = y;
		this.model = model;
	}
	
	/**
	 * Accesseur de la composante en x de la translation
	 * @return La composante en X
	 */
	public int getX(){
		return x;
	}

	/**
	 * Accesseur de la composante en y de la translation
	 * @return La composante en Y
	 */
	public int getY(){
		return y;
	}
	
	/**
	 * Accesseur de modele concerne par la translation
	 * @return Le modele concerne par la translation
	 */
	public Modele getModele(){
		return model;
	}
	
	/**
	 * Methode retournant une description textuelle de la translation
	 */
	public String toString(){
		
		return "Translation de " + x + " m en x et de " + y + " m en y.";
	}

	@Override
	public Executer getExecuter() {
		
		return new TranslateExecuter(this);
	}
}
